In an interaction two parties may exchange information. A person may exchange information with another person or, for example, an automated process such as a chat bot. An interaction may be, for example, between a customer and service representative. Categorization methods may involve tagging or labeling interactions according to predefined rules based on the interaction's content or according to metadata within the interaction data. A categorization method may use relational or columnar databases, such as SQL databases, for example, to store each interaction and its respective categories and tags. Schemas may be configured to parse different forms of the interaction data. After categorizing the interactions, the interactions may be available for later review through the input of queries such as SQL queries. The SQL queries may be used to locate the interactions that match a category definition encoded in the SQL query.
Implementing categorization methods on columnar or relational databases may have scale limitations in the number of interactions that can be categorized and stored, and the number of categories that may be generated or used. Matching millions of interactions against thousands of complex categories and rules may take hours in processing and writing to storage. Further, the schema for parsing the data and the SQL queries to retrieve data may be fixed for each type or form of data. New types of data may require the development of entirely different schemas and SQL queries.